package com.jshoperxms.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Objects;

/**
 * Created by sdywcd on 2019/12/12.
 * Des:
 */
@Entity
@Table(name = "pay_sys_member_withdrawals_transfer_rd_t", schema = "jshoperxms", catalog = "")
public class PaySysMemberWithdrawalsTransferRdT {
    private String id;
    private String memberwithdrawalsid;
    private String memberid;
    private String membername;
    private BigDecimal applymoney;
    private BigInteger applytime;
    private String applytype;
    private String transforaccount;
    private BigDecimal transfermoney;
    private BigInteger transferpaytime;
    private String creatorid;
    private long createtime;
    private BigInteger updatetime;
    private String status;
    private String transferstatus;
    private String tradeid;
    private String note;
    private int versiont;

    @Id
    @Column(name = "ID", nullable = false, length = 20)
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "MEMBERWITHDRAWALSID", nullable = false, length = 20)
    public String getMemberwithdrawalsid() {
        return memberwithdrawalsid;
    }

    public void setMemberwithdrawalsid(String memberwithdrawalsid) {
        this.memberwithdrawalsid = memberwithdrawalsid;
    }

    @Basic
    @Column(name = "MEMBERID", nullable = false, length = 20)
    public String getMemberid() {
        return memberid;
    }

    public void setMemberid(String memberid) {
        this.memberid = memberid;
    }

    @Basic
    @Column(name = "MEMBERNAME", nullable = false, length = 100)
    public String getMembername() {
        return membername;
    }

    public void setMembername(String membername) {
        this.membername = membername;
    }

    @Basic
    @Column(name = "APPLYMONEY", nullable = false, precision = 2)
    public BigDecimal getApplymoney() {
        return applymoney;
    }

    public void setApplymoney(BigDecimal applymoney) {
        this.applymoney = applymoney;
    }

    @Basic
    @Column(name = "APPLYTIME", nullable = false)
    public BigInteger getApplytime() {
        return applytime;
    }

    public void setApplytime(BigInteger applytime) {
        this.applytime = applytime;
    }

    @Basic
    @Column(name = "APPLYTYPE", nullable = false, length = 1)
    public String getApplytype() {
        return applytype;
    }

    public void setApplytype(String applytype) {
        this.applytype = applytype;
    }

    @Basic
    @Column(name = "TRANSFORACCOUNT", nullable = false, length = 100)
    public String getTransforaccount() {
        return transforaccount;
    }

    public void setTransforaccount(String transforaccount) {
        this.transforaccount = transforaccount;
    }

    @Basic
    @Column(name = "TRANSFERMONEY", nullable = false, precision = 2)
    public BigDecimal getTransfermoney() {
        return transfermoney;
    }

    public void setTransfermoney(BigDecimal transfermoney) {
        this.transfermoney = transfermoney;
    }

    @Basic
    @Column(name = "TRANSFERPAYTIME", nullable = false)
    public BigInteger getTransferpaytime() {
        return transferpaytime;
    }

    public void setTransferpaytime(BigInteger transferpaytime) {
        this.transferpaytime = transferpaytime;
    }

    @Basic
    @Column(name = "CREATORID", nullable = false, length = 20)
    public String getCreatorid() {
        return creatorid;
    }

    public void setCreatorid(String creatorid) {
        this.creatorid = creatorid;
    }

    @Basic
    @Column(name = "CREATETIME", nullable = false)
    public long getCreatetime() {
        return createtime;
    }

    public void setCreatetime(long createtime) {
        this.createtime = createtime;
    }

    @Basic
    @Column(name = "UPDATETIME", nullable = false)
    public BigInteger getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(BigInteger updatetime) {
        this.updatetime = updatetime;
    }

    @Basic
    @Column(name = "STATUS", nullable = false, length = 1)
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "TRANSFERSTATUS", nullable = false, length = 1)
    public String getTransferstatus() {
        return transferstatus;
    }

    public void setTransferstatus(String transferstatus) {
        this.transferstatus = transferstatus;
    }

    @Basic
    @Column(name = "TRADEID", nullable = false, length = 100)
    public String getTradeid() {
        return tradeid;
    }

    public void setTradeid(String tradeid) {
        this.tradeid = tradeid;
    }

    @Basic
    @Column(name = "NOTE", nullable = false, length = 100)
    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    @Basic
    @Column(name = "VERSIONT", nullable = false)
    public int getVersiont() {
        return versiont;
    }

    public void setVersiont(int versiont) {
        this.versiont = versiont;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PaySysMemberWithdrawalsTransferRdT that = (PaySysMemberWithdrawalsTransferRdT) o;
        return createtime == that.createtime &&
                versiont == that.versiont &&
                Objects.equals(id, that.id) &&
                Objects.equals(memberwithdrawalsid, that.memberwithdrawalsid) &&
                Objects.equals(memberid, that.memberid) &&
                Objects.equals(membername, that.membername) &&
                Objects.equals(applymoney, that.applymoney) &&
                Objects.equals(applytime, that.applytime) &&
                Objects.equals(applytype, that.applytype) &&
                Objects.equals(transforaccount, that.transforaccount) &&
                Objects.equals(transfermoney, that.transfermoney) &&
                Objects.equals(transferpaytime, that.transferpaytime) &&
                Objects.equals(creatorid, that.creatorid) &&
                Objects.equals(updatetime, that.updatetime) &&
                Objects.equals(status, that.status) &&
                Objects.equals(transferstatus, that.transferstatus) &&
                Objects.equals(tradeid, that.tradeid) &&
                Objects.equals(note, that.note);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, memberwithdrawalsid, memberid, membername, applymoney, applytime, applytype, transforaccount, transfermoney, transferpaytime, creatorid, createtime, updatetime, status, transferstatus, tradeid, note, versiont);
    }
}
